package org.efficientsoap.client;

import java.util.List;

public class EfficientSoapFault {
	private Code code;
	private Reason reason;
	
	//optional
	private String node;
	private String role;
	private Detail detail;
	
	public EfficientSoapFault() {
		this.code = new Code();
		this.reason = new Reason();
	}
	public EfficientSoapFault(Code code, Reason reason) {
		this.code = code;
		this.reason = reason;
	}
	
	public Code getCode() {
		return code;
	}
	public void setCode(Code code) {
		this.code = code;
	}
	public Reason getReason() {
		return reason;
	}
	public void setReason(Reason reason) {
		this.reason = reason;
	}
	public String getNode() {
		return node;
	}
	public void setNode(String node) {
		this.node = node;
	}
	public String getRole() {
		return role;
	}
	public void setRole(String role) {
		this.role = role;
	}
	public Detail getDetail() {
		return detail;
	}
	public void setDetail(Detail detail) {
		this.detail = detail;
	}

	public class Code{
		private String value;
		private SubCode subcode;
		
		public Code() {
			this.subcode = new SubCode();
		}
		
		public String getValue() {
			return value;
		}
		public void setValue(String value) {
			this.value = value;
		}
		public SubCode getSubcode() {
			return subcode;
		}
		public void setSubcode(SubCode subcode) {
			this.subcode = subcode;
		}
	}
	
	public class SubCode{
		private String value;
		private SubCode subcode;

		public SubCode() {
		}

		public String getValue() {
			return value;
		}
		public void setValue(String value) {
			this.value = value;
		}
		public SubCode getSubcode() {
			return subcode;
		}
		public void setSubcode(SubCode subcode) {
			this.subcode = subcode;
		}
	}
	
	public class Reason{
		private List<String> text;
		
		public Reason() {
		}	
		public Reason(List<String> text) {
			this.text = text;
		}

		public List<String> getText() {
			return text;
		}
		public void setText(List<String> text) {
			this.text = text;
		}
	}
	
	public class Detail{
		
	}
}
